import base64
import json
import re
import llm_config
from openai import OpenAI

# 创建一个对象，用于执行 AI 指令
BASE_URL="https://dashscope.aliyuncs.com/compatible-mode/v1"
LLM_MODEL="qwen3-235b-a22b-instruct-2507" # 语言大模型
LLM_MODEL="qwen-vl-plus" # 视觉大模型
LLM_KEY = llm_config.API_KEY

ai_client = OpenAI(api_key=LLM_KEY, base_url=BASE_URL)

# 提示词
prompt = """
        ## 目标
        - 识别屏幕截图和文本中与用户描述最匹配的一个元素。

        ## 输出格式
        {
            "bbox": [xmin,ymin,xmax,ymax],
            "errors"?: "如果你无法找到，就把你的原因写在这里"
        }

        ## 用户描述
        登录按钮
"""

# 读取图片
with open("企业网银.png", "rb") as image_file:
    # 读取图片二进制数据
    image_data = image_file.read()
    # 编码为 Base64
    image_base64 = base64.b64encode(image_data).decode("utf-8")

completion = ai_client.chat.completions.create(
    model= LLM_MODEL,
    # 此处以qwen-vl-plus为例，可按需更换模型名称。模型列表：https://help.aliyun.com/zh/model-studio/getting-started/models
    messages=[{"role": "user", "content": [
        {"type": "image_url", "image_url": {"url": f"data:image/png;base64,{image_base64}"}},
        {"type": "text", "text": prompt}
    ]}]
)
# completion.model_dump_json() 这里面有 AI交互所有信息，包括消耗的 token
print("AI执行结果： ",completion.choices[0].message.content)


# selenium 根据坐标去操作界面
